package com.bgs.travelapp.MyCollection.controller;

import com.bgs.travelapp.MyCollection.entity.CollectionTypeEntity;
import com.bgs.travelapp.MyCollection.service.CollectionTypeService;
import com.bgs.travelapp.page.PageRequest;
import com.bgs.travelapp.page.PageResult;
import com.bgs.travelapp.result.CommonResult;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 收藏类型 后端收藏类型管理
 * 前端---我的收藏标签页展示
 * gpd 2022-08-10 15点12分
 */
@RestController
@CrossOrigin
@RequestMapping("/collectionType")
public class CollectionTypeController {

    @Resource
    CollectionTypeService collectionTypeService;

    /**
     * 查询收藏景区类型 （前端展示---我的收藏）
     * gpd 2022-08-10 11点13分
     *
     * @return
     */
    @GetMapping("/getCollectionTypeName")
    public CommonResult getCollectionTypeName() {
        return CommonResult.ok(collectionTypeService.getCollectionTypeName());
    }

    /**
     * 分页查询收藏类型+模糊查（收藏类型名称）
     * 后端管理---收藏类型管理
     * gpd 2022-08-10 15点57分
     *
     * @param pageRequest
     * @param collectionName
     * @return
     */
    @GetMapping("/getCollectionTypeByPage")
    public PageResult getCollectionTypeByPage(PageRequest pageRequest, String collectionName) {
        return collectionTypeService.getCollectionTypeByPage(pageRequest, collectionName);
    }

    /**
     * 新增收藏类型
     * 后端展示---收藏类型管理
     * gpd 2022-08-10 16点06分
     *
     * @param collectionTypeEntity
     * @return
     */
    @PostMapping("/saveCollectionType")
    public CommonResult saveCollectionType(CollectionTypeEntity collectionTypeEntity) {
        return CommonResult.ok(collectionTypeService.saveCollectionType(collectionTypeEntity));
    }

    /**
     * 修改收藏类型
     * 后端展示---收藏类型管理
     * gpd 2022-08-10 16点08分
     *
     * @param collectionTypeEntity
     * @return
     */
    @PostMapping("/updateCollectionType")
    public CommonResult updateCollectionType(CollectionTypeEntity collectionTypeEntity) {
        return CommonResult.ok(collectionTypeService.updateCollectionType(collectionTypeEntity));
    }

    /**
     * 删除收藏类型
     * 后端展示---收藏类型管理
     * gpd 2022-08-10 16点10分
     *
     * @param id
     * @return
     */
    @DeleteMapping("/collectionTypeDelete")
    public CommonResult collectionTypeDelete(Integer id) {
        return CommonResult.ok(collectionTypeService.collectionTypeDelete(id));
    }

    /**
     * 查询收藏类型名称是否重复录入
     * 后端管理---收藏类型展示
     * gpd 2022-08-10 16点13分
     *
     * @param collectionName
     * @return
     */
    @GetMapping("/selectCollectionTypeName")
    public CommonResult selectCollectionTypeName(String collectionName) {
        return CommonResult.ok(collectionTypeService.selectCollectionTypeName(collectionName));
    }
}
